Blog

Curt Gratz

May 28, 2010

Spread the word


Share your thoughts

Today I was getting ready to send a file from my app to the browser for the user to download.  I was all set to use cfcontent to do this, but knowing ColdBox I thought I would do a quick check to see if the framework had any nice convenience methods for me to use to make life easier and sure enough... sendFile() in the core Utilities plugin.

getPlugin("Utilities").sendFile(file="test.txt");

So, this post is just a quick word of advice.  Don't reinvent the wheel.  If you are doing something, anything common, check the docs and see if ColdBox can do it for you.  You will be amazed at whats available in the core plugin set already for you to use.  

Plug it In

Plug IT IN

Here are just a few I use commonly.

ORMService - generic ORM Service helper for Hibernate
QueryHelper - all sorts of goodies in here, sorting queries is one of my favorite. Or the querySim.
Validator - all sorts of standard validation methods here. checkEmail and checkIPAddress are my favorites.
FileUtils - This is a utilities library that are file related. Lots of fun methods here.
Utilities - A good mix of a variety of handy methods, like todays gem sendFile()

 

Add Your Comment

(5)

May 28, 2010 15:44:19 UTC

by Tony Nelson

I wonder why sendFile() is inside Utilities and not FileUtils.

May 29, 2010 22:02:18 UTC

by Luis Majano

We are still refactoring our utilities so soon they should all be in the correct locations

May 30, 2010 05:43:03 UTC

by Sana

FileUtils Plugin already have sendFile method in ColdBox 3.0 M5.

Mar 18, 2011 13:41:47 UTC

by Alexadra

Hello, Do you have an example where I can see how to use getPlugin("Utilities").sendFile(file="test.txt").

Mar 18, 2011 16:32:50 UTC

by Curt Gratz

Alexadra, That is all there is to it, just call the getPlugin("Utilities").sendFile(file="test.txt"). The test.text can be change to a relative path to any file you which to send to the users browser for download. One thing to note though is that this was refactored in to the fileUtils plugin. getPlugin("FileUtils").sendFile(file="test.txt"); Thanks, Curt

Recent Entries

Speaker Featuring - Round 1

Speaker Featuring - Round 1

Every conference is more than the talks we see on stage it’s also the story of the people who make it possible.

With the first round of Into the Box 2026 sessions and workshops now live, we’re excited to introduce some of the speakers who will be joining us this year. These community members, practitioners, and Ortus team experts bring decades of real-world experience across CFML, BoxLang, JVM modernization, testing, AI, and cloud-native development.

Victor Campos
Victor Campos
January 26, 2026
First Round of the Into the Box 2026 Agenda Is Live

First Round of the Into the Box 2026 Agenda Is Live

Into the Box 2026 marks an important moment for the CFML and BoxLang community not just because of what’s on the agenda, but because of what it represents: 20 years of Ortus Solutions helping teams move forward, modernize, and build with confidence.

Victor Campos
Victor Campos
January 21, 2026
BoxLang AI v2: Enterprise AI Development Without the Complexity

BoxLang AI v2: Enterprise AI Development Without the Complexity

One Year. 100+ Features. Unlimited Possibilities.

Just one year ago, in March 2024, we launched BoxLang AI 1.0. Today, we're thrilled to announce BoxLang AI v2—a massive leap forward that positions BoxLang as the most powerful and versatile AI framework on the JVM.

Luis Majano
Luis Majano
January 19, 2026